100 IFPEEK(56)<>144THENPOKE56,144:POKE46,64:POKE45,1:CLR 105 DV=PEEK(186):IFDV<8THENDV=8 110 IFA=0THENA=1:LOAD"TOOLBOX C000",DV,1 120 IFA=1THENA=2:LOAD"TILE FONT",DV,1 130 IFA=2THENA=3:LOAD"REDRAW.O",DV,1 140 IFA=3THENA=4:LOAD"GETWORD 9000",DV,1 150 DIMDM$(7),GM$(7),TM$(10),C$(16):DE=PEEK(186):IFDE<8THENDE=8 160 FORI=1TO7:READDM$(I):NEXT:FORI=1TO7:READGM$(I):NEXT 170 FORI=1TO4:READTM$(I):NEXT:FORI=1TO16:READC$(I):NEXT 180 C=15:C2=12:C3=3:C4=14:C5=5:C6=13:C7=7:C8=8:C9=9:FT=14336:BS=40960-720 190 MT=49152:L=MT:POKE53272,31:M=8:POKE53281,0:POKE53280,0:TC=13:GC=14:CC=1:BC=0 200 GOSUB1220 210 POKE646,TC:PRINT" [212][201][204][197][205][197][201][211][212][197][210] BY [202]EFF [202]ONES [221] ^ FOR [205]ENUS":SYSMT+12 220 SYS51456,M,GC,TC 230 SYSMT+6,208:POKE646,CC:SYSMT+15,1,1,"@":X=1:Y=1:G=1 240 SYSMT+42,"[157][145]M [160]^"+CHR$(20)+"123456789[147]FOGCBRVSQ" 250 GETA$:ONVAL(A$)GOTO300,280,340,320,540,360,360,1270,560:A=ASC(A$)-48 260 ONA-9GOTO740,750,760,770,780,790,800,810,820,920,990,830,850,870,890,1120 270 ONA-25GOTO1140,1150,2270 280 SYSMT+9,208:X=X+1:IFX>MTHENX=1:Y=Y+1:IFY>MTHENY=1 290 POKE646,CC:SYSMT+15,X,Y,"@":GOTO240 300 SYSMT+9,208:X=X-1:IFX<1THENX=M:Y=Y-1:IFY<1THENY=M 310 POKE646,CC:SYSMT+15,X,Y,"@":GOTO240 320 SYSMT+9,208:Y=Y+1:IFY>MTHENY=1:X=X+1:IFX>MTHENX=1 330 POKE646,CC:SYSMT+15,X,Y,"@":GOTO240 340 SYSMT+9,208:Y=Y-1:IFY<1THENY=M:X=X-1:IFX<1THENX=M 350 POKE646,CC:SYSMT+15,X,Y,"@":GOTO240 360 POKE646,TC:SYSMT+15,X,Y,"@":SYSMT+6,208:ONM/8GOTO370,380,430 370 POKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)OR2^(8-X):GOTO280 380 IFY>8THEN410 390 IFX<9THENPOKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)OR2^(8-X):GOTO280 400 POKEFT+247*8+Y-1,PEEK(FT+247*8+Y-1)OR2^(16-X):GOTO280 410 IFX<9THENPOKEFT+248*8+Y-9,PEEK(FT+248*8+Y-9)OR2^(8-X):GOTO280 420 POKEFT+249*8+Y-9,PEEK(FT+249*8+Y-9)OR2^(16-X):GOTO280 430 IFY>8THEN470 440 IFX<9THENPOKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)OR2^(8-X):GOTO280 450 IFX<17THENPOKEFT+247*8+Y-1,PEEK(FT+247*8+Y-1)OR2^(16-X):GOTO280 460 POKEFT+248*8+Y-1,PEEK(FT+248*8+Y-1)OR2^(24-X):GOTO280 470 IFY>16THEN510 480 IFX<9THENPOKEFT+249*8+Y-9,PEEK(FT+249*8+Y-9)OR2^(8-X):GOTO280 490 IFX<17THENPOKEFT+250*8+Y-9,PEEK(FT+250*8+Y-9)OR2^(16-X):GOTO280 500 POKEFT+251*8+Y-9,PEEK(FT+251*8+Y-9)OR2^(24-X):GOTO280 510 IFX<9THENPOKEFT+252*8+Y-17,PEEK(FT+252*8+Y-17)OR2^(8-X):GOTO280 520 IFX<17THENPOKEFT+253*8+Y-17,PEEK(FT+253*8+Y-17)OR2^(16-X):GOTO280 530 POKEFT+254*8+Y-17,PEEK(FT+254*8+Y-17)OR2^(24-X):GOTO280 540 PRINT"[147]":SYSMT+12:M=M+8:IFM>24THENM=8 550 GOTO200 560 POKE646,GC:SYSMT+15,X,Y,"[146]@":SYSMT+6,208:ONM/8GOTO570,580,630 570 POKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)AND(255-2^(8-X)):GOTO300 580 IFY>8THEN610 590 IFX<9THENPOKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)AND(255-2^(8-X)):GOTO300 600 POKEFT+247*8+Y-1,PEEK(FT+247*8+Y-1)AND(255-2^(16-X)):GOTO300 610 IFX<9THENPOKEFT+248*8+Y-9,PEEK(FT+248*8+Y-9)AND(255-2^(8-X)):GOTO300 620 POKEFT+249*8+Y-9,PEEK(FT+249*8+Y-9)AND(255-2^(16-X)):GOTO300 630 IFY>8THEN670 640 IFX<9THENPOKEFT+246*8+Y-1,PEEK(FT+246*8+Y-1)AND(255-2^(8-X)):GOTO300 650 IFX<17THENPOKEFT+247*8+Y-1,PEEK(FT+247*8+Y-1)AND(255-2^(16-X)):GOTO300 660 POKEFT+248*8+Y-1,PEEK(FT+248*8+Y-1)AND(255-2^(24-X)):GOTO300 670 IFY>16THEN710 680 IFX<9THENPOKEFT+249*8+Y-9,PEEK(FT+249*8+Y-9)AND(255-2^(8-X)):GOTO300 690 IFX<17THENPOKEFT+250*8+Y-9,PEEK(FT+250*8+Y-9)AND(255-2^(16-X)):GOTO300 700 POKEFT+251*8+Y-9,PEEK(FT+251*8+Y-9)AND(255-2^(24-X)):GOTO300 710 IFX<9THENPOKEFT+252*8+Y-17,PEEK(FT+252*8+Y-17)AND(255-2^(8-X)):GOTO300 720 IFX<17THENPOKEFT+253*8+Y-17,PEEK(FT+253*8+Y-17)AND(255-2^(16-X)):GOTO300 730 POKEFT+254*8+Y-17,PEEK(FT+254*8+Y-17)AND(255-2^(24-X)):GOTO300 740 C=(C+1)AND15:GOTO200 750 C2=(C2+1)AND15:GOTO200 760 C3=(C3+1)AND15:GOTO200 770 C4=(C4+1)AND15:GOTO200 780 C5=(C5+1)AND15:GOTO200 790 C6=(C6+1)AND15:GOTO200 800 C7=(C7+1)AND15:GOTO200 810 C8=(C8+1)AND15:GOTO200 820 C9=(C9+1)AND15:GOTO200 830 TC=(TC+1)AND15:IFTC=(PEEK(53281)AND15)THEN830 840 GOTO220 850 GC=(GC+1)AND15:IFGC=(PEEK(53281)AND15)THEN850 860 GOTO220 870 CC=(CC+1)AND15:IFCC=(PEEK(53281)AND15)THEN870 880 POKE646,CC:SYSMT+15,X,Y,"@":GOTO240 890 BC=(BC+1)AND15:IFBC=TCORBC=GCORBC=CCTHEN890 900 POKE53281,BC:POKE53280,BC:GOTO240 910 REM CLEAR GRIDS 920 MS$="[195]LEAR [199]RID? [193]RE [217]OU [211]URE? ([217]/[206])":GOSUB1050:GETA$ 930 IFA$<>"Y"THEN240 940 ONM/8GOTO950,960,970 950 FORI=FT+246*8TOFT+246*8+7:POKEI,0:NEXT:GOTO220 960 FORI=FT+246*8TOFT+249*8+7:POKEI,0:NEXT:GOTO220 970 FORI=FT+246*8TOFT+254*8+7:POKEI,0:NEXT:GOTO220 980 REM FILL GRIDS 990 MS$="[198]ILL [199]RID? [193]RE [217]OU [211]URE? ([217]/[206])":GOSUB1050:GETA$ 1000 IFA$<>"Y"THEN240 1010 ONM/8GOTO1020,1030,1040 1020 FORI=FT+246*8TOFT+246*8+7:POKEI,255:NEXT:GOTO220 1030 FORI=FT+246*8TOFT+249*8+7:POKEI,255:NEXT:GOTO220 1040 FORI=FT+246*8TOFT+254*8+7:POKEI,255:NEXT:GOTO220 1050 IFPEEK(787)<>255THENSYSMT+6,216 1060 SYSMT+3,2,38,12,16,255,GC:POKE199,1 1070 SYSMT+3,1,37,11,15,160,TC:POKE646,TC:SYSMT+18,13,MS$ 1080 IFPEEK(787)=255THENPOKE787,0:RETURN 1090 POKE198,0:WAIT198,15 1100 SYSMT+9,216:RETURN 1110 REM REVERSE 1120 SYS51459,M:GOTO220 1130 REM SHOW SCREEN 1140 SYSMT+6,216:GOSUB1220:POKE198,0:WAIT198,15:GETA$:SYSMT+9,216:GOTO240 1150 SYSMT+6,216:SYSMT+3,22,33,1,11,160,TC:PRINT"";:POKE646,TC 1160 SYSMT+18,24," [208]LEASE [211]ELECT [211]TORAGE [211]LOT ":POKE646,TC 1170 FORI=1TO10:SYSMT+15,23,I,"[211]LOT"+STR$(I):NEXT:SYSMT+15,23,I,DM$(7) 1180 SYSMT,1,22,33,11,TC,GC,0:SYSMT+6,232:SYSMT+9,216:GETA$ 1182 IFA$=";"THENSYSMT+9,208:GOTO240 1185 A=ASC(A$)-48:SB=BS+72*(A-1) 1190 A=FT+246*8:FORI=0TO71:AA=PEEK(SB+I):POKESB+I,PEEK(A+I):POKEA+I,AA:NEXT 1200 GOTO200 1210 REM SCREEN FILL 1220 IFM=8THENSYSMT+3,0,39,0,24,246,C 1230 IFM=16THENSYSMT+36,246,247,248,249,C,C2,C3,C4 1240 IFM=24THENSYSL+39,246,247,248,249,250,251,252,253,254,C,C2,C3,C4,C5,C6,C7,C8,C9 1250 RETURN 1260 REM MENUS 1270 SYSMT+6,216:POKE646,TC:PRINT" [196]ISK [199]RID [212]ILES [209]UADRANT [195]OLORS " 1280 SYSMT+18,24," [211][208][193][195][197] [212]O [211]WITCH [194]ETWEEN [205]ENUS ":POKE646,GC:SYSMT+6,224 1290 MU=1:SYSMT+3,1,15,1,9,160,GC:PRINT""; 1300 FORI=1TO6:SYSMT+15,2,I,DM$(I):NEXT 1310 SYSMT+15,2,I,"[196]EVICE [206]UMBER":SYSMT+15,2,I+1,DM$(7) 1320 SYSMT+15,2,I+2,"[204][207][193][196][211][212][193][210]" 1330 SYSMT,1,1,15,9,GC,TC,32:SYSMT+6,232:SYSMT+9,216:GETA$:IFVAL(A$)=0THEN1350 1340 ONVAL(A$)GOTO1680,1780,1900,1960,2020,2080,2100,240,2270 1350 MU=2:SYSMT+9,224:SYSMT+3,8,29,1,8,160,GC:PRINT"";:POKE646,GC 1360 FORI=1TO7:SYSMT+15,9,I,GM$(I):NEXT:SYSMT+15,9,I,DM$(7) 1370 SYSMT,1,8,29,8,GC,TC,32:SYSMT+6,232:SYSMT+9,216:GETA$:IFVAL(A$)=0THEN1460 1380 ONVAL(A$)GOTO1390,1400,1410,1420,1430,1440,1450,240 1390 M=24:GOTO540 1400 M=8:GOTO540 1410 M=16:GOTO540 1420 GOSUB1640:GC=CO:GOTO220 1430 GOSUB1640:TC=CO:GOTO220 1440 GOSUB1640:CC=CO:GOTO220 1450 GOSUB1640:BC=CO:POKE53280,BC:POKE53281,BC:GOTO240 1460 MU=3:SYSMT+9,224:SYSMT+3,15,34,1,5,160,GC:PRINT"";:POKE646,GC 1470 FORI=1TO4:SYSMT+15,16,I,TM$(I):NEXT:SYSMT+15,16,I,DM$(7) 1480 SYSMT,1,15,34,5,GC,TC,32:SYSMT+6,232:SYSMT+9,216:GETA$:IFVAL(A$)=0THEN1510 1490 ONVAL(A$)GOTO1140,920,1120,1500,240 1500 SYSMT+9,232:SYSMT+3,0,39,24,24,32,0:GOTO1150 1510 MU=4:SYSMT+9,224:SYSMT+3,22,33,1,10,160,GC:PRINT"";:POKE646,GC 1520 FORI=1TO9:SYSMT+15,23,I,"[209]UADRANT"+STR$(I):NEXT:SYSMT+15,23,I,DM$(7) 1530 SYSMT,1,22,33,10,GC,TC,32:SYSMT+6,232:SYSMT+9,216:GETA$:IFA$=""THEN1270 1535 A=ASC(A$)-48 1540 ONAGOTO1550,1560,1570,1580,1590,1600,1610,1620,1630,240 1550 CO=C:GOSUB1640:C=CO:GOTO200 1560 CO=C2:GOSUB1640:C2=CO:GOTO200 1570 CO=C3:GOSUB1640:C3=CO:GOTO200 1580 CO=C4:GOSUB1640:C4=CO:GOTO200 1590 CO=C5:GOSUB1640:C5=CO:GOTO200 1600 CO=C6:GOSUB1640:C6=CO:GOTO200 1610 CO=C7:GOSUB1640:C7=CO:GOTO200 1620 CO=C8:GOSUB1640:C8=CO:GOTO200 1630 CO=C9:GOSUB1640:C9=CO:GOTO200 1640 SYSMT+9,232:SYSMT+3,0,39,24,24,32,0 1650 SYSMT+3,12,24,2,17,160,TC:POKE646,TC:POKE199,1 1660 FORI=1TO16:SYSMT+15,13,I+1,C$(I):NEXT 1670 SYSMT,2,12,24,16,TC,CC,0:GETC$:CO=ASC(C$)-49 1675 SYSMT+9,216:RETURN 1680 MS$="[208]LEASE [197]NTER [198]ONT [206]AME":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1690 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,34 1700 IFW$=""THENSYSMT+9,216:GOTO240 1710 MS$="[206]EW [204]OAD [193]DDRESS?":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1720 FI$=W$:SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,5 1730 LA=VAL(W$):IFVAL(W$)=0THENLA=2048 1740 SYSMT+9,216:MS$="[211]AVING [198]ONT...":POKE787,255:GOSUB1050:CLOSE15:OPEN15,DE,15 1750 SYSMT+48,FI$,DE,FT,FT+2048,LA 1760 INPUT#15,A$,A$:IFA$<>"OK"THENMS$=A$:GOSUB1050 1770 SYSMT+9,216:GOTO240 1780 MS$="[208]LEASE [197]NTER [212]ILE [206]AME":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1790 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,34 1800 IFW$=""THENSYSMT+9,216:GOTO240 1810 MS$="[212]ILE [204]OAD [193]DDRESS?":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1820 FI$=W$:SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,5 1830 LA=VAL(W$):IFVAL(W$)=0THENLA=2048 1840 SYSMT+9,216:MS$="[211]AVING [212]ILE...":POKE787,255:GOSUB1050:CLOSE15:OPEN15,DE,15 1850 ONM/8GOTO1860,1870,1880 1860 SYSMT+48,FI$,DE,FT+246*8,FT+247*8,LA:GOTO1890 1870 SYSMT+48,FI$,DE,FT+246*8,FT+250*8,LA:GOTO1890 1880 SYSMT+48,FI$,DE,FT+246*8,FT+255*8,LA:GOTO1890 1890 GOTO1760 1900 MS$="[196][207][207][196][204][197]! [198]ILE [206]AME?":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1910 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,34 1920 IFW$=""THENSYSMT+9,216:GOTO240 1930 IFLEFT$(W$,2)<>"DD"THENW$="DD"+W$ 1940 GOSUB1220:CLOSE15:OPEN15,DE,15 1950 SYSMT+54,W$,DE,FT:GOTO1760 1960 MS$="[198]ONT [198]ILE [206]AME?":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 1970 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,34 1980 IFW$=""THENSYSMT+9,216:GOTO240 1990 SYSMT+9,216:MS$="[204][207][193][196]ING [198]ONT...":POKE787,255:GOSUB1050 2000 CLOSE15:OPEN15,DE,15 2010 SYSMT+30,W$,DE,FT:GOTO1760 2020 MS$="[212]ILE [198]ILE [206]AME?":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 2030 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,34 2040 IFW$=""THENSYSMT+9,216:GOTO240 2050 SYSMT+9,216:MS$="[204][207][193][196]ING [212]ILE...":POKE787,255:GOSUB1050 2060 CLOSE15:OPEN15,DE,15 2070 SYSMT+30,W$,DE,FT+246*8:SYSMT+9,216:SYS51456,M,GC,TC:SYSMT+6,208 2075 SYSMT+6,216:GOTO1760 2080 POKE646,TC:PRINT"[147]":SYSMT+51,"$:*",DE:SYSMT+18,24,"[208]RESS [193] [203]EY..." 2090 POKE198,0:WAIT198,15:GETA$:SYSMT+9,216:GOTO240 2100 MS$="[196]EVICE [206]UMBER? (8-31)":POKE787,255:GOSUB1050:SYSMT+3,1,37,16,16,99,TC 2110 SYSMT+3,3,36,15,15,32,GC:SYSMT+15,1,15,"":SYS9*4096,TC,GC,2 2120 IFVAL(W$)=0THENSYSMT+9,216:GOTO240 2130 IFVAL(W$)<8ORVAL(W$)>31THEN2100 2140 CLOSE2:OPEN2,VAL(W$),2:CLOSE2:IFSTTHEN2100 2150 DE=VAL(W$):SYSMT+9,216:GOTO240 2160 STOP 2170 DATA"[211]AVE [198]ONT","[211]AVE [212]ILE","[211]AVE [196][207][207][196][204][197]!","[204]OAD [198]ONT","[204]OAD [212]ILE","[196]IR" 2180 DATA "[193]BORT" 2190 DATA"8 X 8 [[205]]","16 X 16 [[205]]","24 X 24 [[205]]","[199]RID [195]OLOR [[199]]" 2200 DATA"[194]IT [195]OLOR [[207]]","[195][210][211][210] [195]OLOR [[195]]","[211]CREEN [[194]]" 2210 DATA"[214]IEW [212]ILE [[214]]","[195]LEAR [199]RID [[195][204][210]]","[210]EVERSE [199]RID [[210]]" 2220 DATA"[211]WAP [212]ILES [[211]]" 2230 DATA"[194]LACK","[215]HITE","[210]ED","[195]YAN","[208]URPLE","[199]REEN","[194]LUE","[217]ELLOW","[207]RANGE" 2240 DATA"[194]ROWN","[204]IGHT [210]ED","[196]ARK [199]RAY","[205]EDIUM [199]RAY","[204]IGHT [199]REEN" 2250 DATA"[204]IGHT [194]LUE","[204]IGHT [199]RAY" 2270 MS$="[209]UIT? [193]RE [217]OU [211]URE? ([217]/[206])":GOSUB1050:GETA$:IFA$<>"Y"THEN240 2280 CLOSE15:A$="HELLO CONNECT":OPEN15,8,15,"R0:"+A$+"="+A$:INPUT#15,ER:CLOSE15 2290 POKE53272,23:IF ER<>63 THEN PRINT"[147]":END 2300 Q$=CHR$(34):POKE646,PEEK(53281):PRINT"[147]" 2310 PRINT"LOAD"Q$A$Q$",8" 2320 PRINT"RUN":POKE631,13:POKE632,13:POKE198,2:END 10000 SAVE"@0:TILE BASIC":STOP